from django.views import View
# 导入返回响应
from SaaSDevelTool.data_return_response import create_response
# 导入错误信息装饰器
from SaaSDevelTool.data_return_response import error_message_detection
# 导入数据库连接
from SaaSDevelTool.data_mysql_data import db
# 查询参数
from SaaSDevelTool.data_operation import is_number

"""企业大模块添加"""


class SaaSDataTenementModelCreate(View):
    @error_message_detection
    def post(self, request):
        # 获取企业编号
        tenement_id = request.POST.get("tenement_id")
        # 获取大模块编号
        model_id = request.POST.get("model_id")

        # 判断对应的企业编号
        if not tenement_id:
            return create_response(code=400, msg="企业编号传递错误。")

        # 判断对应的大模块编号
        if not model_id:
            return create_response(code=400, msg="企业编号传递错误。")

        # 查询对应的开启的大模块
        query_map_tenement_model_table_sql = """
            SELECT
                tenement_id,
                model_id
            FROM 
                db_saas_center.map_tenement_model_table 
            WHERE 
                tenement_id = {}
            AND 
                model_id = {}
            ;""".format(tenement_id, model_id)
        # 获取查询出来的数据
        query_map_tenement_model_table_data = db.findAll(query_map_tenement_model_table_sql)

        # 判断对应的数据
        if query_map_tenement_model_table_data:
            # 返回响应
            return create_response(code=400, msg="添加失败，当前租户已配置对应的功能包。")
        # 执行添加操作
        create_map_tenement_model_table_sql = """
            INSERT INTO 
                db_saas_center.map_tenement_model_table(
                    tenement_id,
                    model_id
                )
            values
                ({},{})
            ;""".format(tenement_id, model_id)
        # 执行语句
        db.update(create_map_tenement_model_table_sql)

        # 返回对应的数据
        return create_response(code=200, msg="大模块添加成功。")
